package com.ruoyi.web.controller.material.entity.dto;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 物资管理DTO
 *
 * @author jzx
 * @date 2025-10-26
 */
@Data
public class YlProductDto {

    private Long id;

    /**
     * 物品名称
     */
    @Excel(name = "物品名称")
    @ApiModelProperty("物品名称")
    private String productName;

    /**
     * 物品简称
     */
    @Excel(name = "物品简称")
    @ApiModelProperty("物品简称")
    private String shortName;

    /**
     * 物品分类主键
     */
    @Excel(name = "物品分类名称")
    @ApiModelProperty("物品分类主键")
    private String productCategoryName;

    /**
     * 收费项目
     */
    @Excel(name = "收费项目名称")
    @ApiModelProperty("收费项目")
    private String chargeItemName;

    /**
     * 供应商
     */
    @Excel(name = "供应商名称")
    @ApiModelProperty("供应商")
    private String supplierName;

    /**
     * 规格
     */
    @Excel(name = "规格")
    @ApiModelProperty("规格")
    private String specification;

    /**
     * 单位
     */
    @Excel(name = "单位")
    @ApiModelProperty("单位")
    private String unit;

    /**
     * 启用状态
     */
    @Excel(name = "启用状态")
    @ApiModelProperty("启用状态")
    private String useStatus;

    /**
     * 备注
     */
    @Excel(name = "备注")
    @ApiModelProperty("备注")
    private String remark;

    /**
     * 物品分类主键
     */
    @Excel(name = "物品分类主键")
    @ApiModelProperty("物品分类主键")
    private Long productCategoryId;

    /**
     * 收费项目
     */
    @Excel(name = "收费项目")
    @ApiModelProperty("收费项目")
    private Long chargeItemId;

    /**
     * 供应商
     */
    @Excel(name = "供应商")
    @ApiModelProperty("供应商")
    private Long supplierId;

    /**
     * 创建者
     */
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新者
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;
}
